#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
//#define N 4
//#define Y(n) ((N+2)*n)
//int main()
//{
//	int z;
//	z = 2 * (N + Y(5 + 1));
//	printf("%d\n", z);
//	return 0;
//}


//#define Myoffsetof(SIZE,NAME) (size_t)&(((SIZE*)0)->NAME)
//struct stu
//{
//	int a;
//	char b;
//	double c;
//};
//
//
//int main()
//{
//	printf("%d\n", Myoffsetof(struct stu, a));
//	printf("%d\n", Myoffsetof(struct stu, b));
//	printf("%d\n", Myoffsetof(struct stu, c));
//	return 0;
//}

#define RECEVER(a) (((a)&(0xaaaaaaaa))>>1)+(((a)&(0x55555555))<<1) 

int main()
{
	int a = 10;
	int b = RECEVER(a);
	printf("a=%d\n", a);
	printf("b=%d\n", b);
	return 0;
}